// pages/supply/interest/interest.js
const app = getApp()
const i18n = require('../../../utils/i18n/index')

Page({

    /**
     * 页面的初始数据
     */
    data: {
        type:0,
        interestList: [],
        page: 1,
        hasMore: true,
        loading: false,
        refreshing: false,
        cdnUrl: '',
        locale: 'zh_CN',
        t: {}
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.setData({
            cdnUrl: app.globalData.cdnUrl
        })
        this.setI18nData()
        this.loadInterestList()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        wx.setNavigationBarTitle({
            title: i18n.t('mine.menu.myInterest')
        });
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },

    setI18nData() {
        this.setData({
            locale: i18n.getLocale(),
            t: {
                title: i18n.t('supply.interest.title'),
                empty: i18n.t('supply.interest.empty'),
                loading: i18n.t('common.loading'),
                noMore: i18n.t('supply.noMore')
            }
        })
    },

    onLanguageChange() {
        this.setI18nData()
    },

    onTypeRadioChange(e) {
        const id = e.currentTarget.dataset.id
        this.setData({
          'type': id
        })

        this.data.page = 1
        this.loadInterestList(true)
    },

    // 加载关注列表
    loadInterestList(isRefresh = false) {
        if (this.data.loading) return

        this.setData({ loading: true })

        wx.request({
            url: app.globalData.baseUrl + 'api/interests',
            data: {
                type: this.data.type,
                page: this.data.page
            },
            header: {
                'Authorization': `Bearer ${app.globalData.token}`
            },
            success: res => {
                if (res.data.code === 0) {
                    const list = res.data.data.needs || []
                    this.setData({
                        interestList: isRefresh ? list : [...this.data.interestList, ...list],
                        hasMore: list.length === 10,
                        page: isRefresh ? 1 : this.data.page + 1
                    })
                }
            },
            complete: () => {
                this.setData({
                    loading: false,
                    refreshing: false
                })
            }
        })
    },

    // 加载更多
    onLoadMore() {
        if (this.data.hasMore && !this.data.loading) {
            this.loadInterestList()
        }
    },

    // 下拉刷新
    onRefresh() {
        this.setData({
            refreshing: true,
            page: 1,
            interestList: []
        }, () => {
            this.loadInterestList(true)
        })
    },

    // 点击项目
    onItemTap(e) {
        const id = e.currentTarget.dataset.id
        if (this.data.type == 1) {
            wx.navigateTo({
                url: `/pages/member/detail/detail?id=${id}`
            })
        } else {
            wx.navigateTo({
                url: `/pages/supply/detail/detail?id=${id}`
            })
        }
    }
})